package com.Math_;

/**
 * @Author 小闽
 * @Date 2024/10/6 20:23
 * @PackageName: com.Math
 * @ClassName: MathMethod
 * @Description: 数学方法
 * @Version 1.0
 */
public class MathMethod {
    public static void main(String[] args) {
        // 1. abs 绝对值
        int abs = Math.abs(9);
        System.out.println(abs);
        // 2. pow 求幂
        double pow = Math.pow(-3.5,4);
        System.out.println(pow);
        // 3. ceil 向上取整，返回 >= 该参数的最小整数
        double ceil = Math.ceil(-3.000);
        System.out.println(ceil);
        // 4. floor 向下取整，返回 <= 该参数的最大整数
        double floor = Math.floor(-4.99);
        System.out.println(floor);
        // 5. round 四舍五入 Math.floor(该参数+0.5)
        long round = Math.round(-5.001);
        System.out.println(round);
        // 6. sqrt求开方
        double sqrt = Math.sqrt(9.0);
        System.out.println(sqrt);
        // 7. random 返回随机数（0-1）
        double random = Math.random();
        System.out.println(random);

        // 写一个 a-b之间的随机整数
        // Math.random() * (b-a) 返回的就是 0 <= 数 <= b-a
        // （1）(int)(a) <= x <= (int)(a + Math.random() * (b-a +1))
        // （2）使用具体的数
        // (int)(a + Math.random() * (b-a +1)) = (int)(2 + Math.random() * 6)
        // Math.random() *6 返回的是 0 <= x <6 小数
        // 2 + Math.random()*6 返回的就是 2 <= x < 8 小数
        // (int)(2 + Math.random()*6) = 2 <= x <= 7
        // （3） 公式就是 (int)(a+Math.random() * (b-a + 1))
        for (int i = 0; i < 10; i++) {
            System.out.println((int)(2 + Math.random() * (7-2 + 1)));
        }
    }
}
